package org.kingtop.service;

import org.kingtop.model.IRolePO;
import org.kingtop.model.IUserRolePO;

import java.util.List;
import java.util.Set;

/**
 * 用于获取用户角色服务
 * @author 陈金波
 *
 */
public interface IRoleService {

	/**
	 * 获取用户角色集合
	 * @param userName 用户名
	 * @return 角色集合
	 */
	Set<String> listRolesByName(String userName);
	
	/**
	 * 通过用户id查询用户id与角色的关系
	 * @author 陈金波  
	 * @date   2018年1月24日 下午9:16:34  
	 * @param userId
	 * @return List<T>
	 */
	<T extends IUserRolePO> List<T> listUserRoleByUserId(long userId);

	/**
	 * 通过id获取角色基本信息
	 * @param id 角色id
	 * @return 角色信息
	 */
	<T extends IRolePO> T getById(long id);
	
}
